1. Field of the Invention
The present invention relates to a software development support system for supporting development of software by a developer (programmer).
2. Related Art
At present, in development of software a software development support tool provided with a source code generator function is often used. The source code generator is a tool automatically generating source code (program) according to a certain rule on the basis of inputted design information (specification information).
In the development of software using such a software development support system, first the confirmation and the like of operation on source code generated by the source code generator are performed. Next, according to the result and the like, modification on the source code itself or modification on design information such as addition of a function, modification of a process and the like is performed. In case that some modification on the design information has been performed, source code is generated again by the source code generator on the basis of the design information. Such work is not limited to one time but is repeated any number of times until the software is completed.
By the way, even if a developer modifies source code generated for the first time, when a source code generator performs again an automatic generation of source code, the modified part is usually deleted by being overwritten. For example, it is assumed that a comment statement has been inserted into source code generated for the first time. And when source code is generated again on the basis of the same design information, the comment statement is not contained in the source code generated for the second time. In this case, since no modification is applied to the design information itself, the source code generator generates the same source code whether generation is performed for the first time or the second time. In such a way, since in software development using a conventional source code generator a developer often has to apply the same modification to source code each time a source code generator generates the source code, there has been a problem of being not capable of efficiently performing software development.
In order to solve such a problem, there has been proposed a software development support system which converts source code modified by a developer after being automatically generated by a source code generator into a design drawing by means of an implementation information extracting device, stores the design drawing as implementation information in a database and reflects the implementation information in the design information (see Japanese Unexamined Patent Application Publication No. H 7-129,382, for example). And there has been also proposed a system which extracts a difference in specific description due to the number of digits or the specifications of language between source code A before being modified and source code B after being modified and makes design information after being modified on the basis of this difference information (see Japanese Unexamined Patent Application Publication No. 2000-66,889, for example). These systems solve the above problem by reflecting the contents of modification applied to source code by a developer in design information and inputting the new design information having the reflection into the source code generator. By the way, such a prior art as disclosed in Japanese Unexamined Patent Application Publication No. H 7-129,382 or Japanese Unexamined Patent Application Publication No. 2000-66,889 modifies design information itself on the basis of the contents of modification applied to source code by a developer. Hence, for example in case of performing a modification which does not need to be defined in design information or a modification which a portion equivalent to is not included in design information such as addition of a mere comment statement or the like, these prior arts cannot cope with such a case and the content of modification performed by a developer is not reflected in source code.
And a source code generator and a developer each may take partial charge of the development of software such that a developer makes a source code generator generate typical source code, and implements for him/herself non-typical source code such as business logic and the like. In such a way, in case that it is premised that a source code generator and a developer each take partial charge of work, since it is originally unnecessary to reflect the portion implemented by a developer in design information, application itself of the above-mentioned prior arts is not considered.
And it may be also technically difficult to correctly extract a portion modified by a developer in source code. For example, it is assumed that source code having the content of aa, bb and cc is generated by a source code generator, as shown in the left part of FIG. 11, and then a developer adds aa and bb to this source code, as shown in the right part of FIG. 11. In this case, a technique of taking a difference between the two pieces of source code by comparing them with each other like the prior art disclosed in Japanese Unexamined Patent Application Publication No. 2000-66,889 cannot determine whether it is the upper aa and bb or the lower aa and bb that is added by the developer or may perform an erroneous determination.
Like this, up to now there has been a case that it is not possible to reflect the content added by a developer to source code in source code generated again by using the above-mentioned prior art. That is to say, the scope of application of a prior art of modifying design information on the basis of the content of modification applied by a developer to source code is narrow, and there has been a case that it is not possible to perform efficient software development by using such a prior art. And in case that some addition to design information has been performed additionally to a modification on source code performed by a developer, it is desired to implement a software development support system capable of generating source code having both the modifications reflected in it.
The present invention has been performed on the basis of the above circumstances and has as an object of it providing a software development support system capable of reflecting the content added by a developer to source code in source code generated again, without modifying design information.